package org.jeecgframework.web.system.pojo.base;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

import javax.persistence.*;

/**
 * @author onlineGenerator
 * @version V1.0
 * @Title: Entity
 * @Description: 服务处理日志
 * @date 2018-01-03 13:19:26
 */
@Entity
@Table(name = "CBS_SERVICE_LOG", schema = "")
@SuppressWarnings("serial")
public class CbsServiceLogEntity implements java.io.Serializable {
    /**
     * 主键
     */
    private java.lang.String id;
    /**
     * 服务单ID
     */
    @Excel(name = "服务单ID")
    private CbsServiceEntity cbsServiceId;
    /**
     * 日志类型
     */
    @Excel(name = "日志类型")
    private java.lang.Integer logType;
    /**
     * 处理描述
     */
    @Excel(name = "处理描述")
    private java.lang.String description;
    /**
     * 关联附件ID
     */
    @Excel(name = "关联附件ID")
    private ZyFileLogEntity zyFileLogId;
    /**
     * 创建人名称
     */
    private java.lang.String createName;
    /**
     * 创建人登录名称
     */
    private java.lang.String createBy;
    /**
     * 创建日期
     */
    private java.util.Date createDate;
    /**
     * 更新人名称
     */
    private java.lang.String updateName;
    /**
     * 更新人登录名称
     */
    private java.lang.String updateBy;
    /**
     * 更新日期
     */
    private java.util.Date updateDate;

    private int type; //是否发生了拒绝操作，转派发生了拒绝，除商务及以上等级外，其余的不可见  1.已拒绝


    @Column(name = "type", nullable = true, length = 2)
    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  主键
     */
    @Id
    @GeneratedValue(generator = "paymentableGenerator")
    @GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
    @Column(name = "ID", nullable = false, length = 36)
    public java.lang.String getId() {
        return this.id;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  主键
     */
    public void setId(java.lang.String id) {
        this.id = id;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  服务单ID
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "CBS_SERVICE_ID", nullable = true)
    public CbsServiceEntity getCbsServiceId() {
        return this.cbsServiceId;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  服务单ID
     */
    public void setCbsServiceId(CbsServiceEntity cbsServiceId) {
        this.cbsServiceId = cbsServiceId;
    }

    /**
     * 方法: 取得java.lang.Integer
     *
     * @return: java.lang.Integer  日志类型
     */
    @Column(name = "LOG_TYPE", nullable = true, length = 1)
    public java.lang.Integer getLogType() {
        return this.logType;
    }

    /**
     * 方法: 设置java.lang.Integer
     *
     * @param: java.lang.Integer  日志类型
     */
    public void setLogType(java.lang.Integer logType) {
        this.logType = logType;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  处理描述
     */
    @Column(name = "DESCRIPTION", nullable = true, length = 200)
    public java.lang.String getDescription() {
        return this.description;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  处理描述
     */
    public void setDescription(java.lang.String description) {
        this.description = description;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  关联附件ID
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ZY_FILE_LOG_ID", nullable = true)
    public ZyFileLogEntity getZyFileLogId() {
        return this.zyFileLogId;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  关联附件ID
     */
    public void setZyFileLogId(ZyFileLogEntity zyFileLogId) {
        this.zyFileLogId = zyFileLogId;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  创建人名称
     */
    @Column(name = "CREATE_NAME", nullable = true, length = 50)
    public java.lang.String getCreateName() {
        return this.createName;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  创建人名称
     */
    public void setCreateName(java.lang.String createName) {
        this.createName = createName;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  创建人登录名称
     */
    @Column(name = "CREATE_BY", nullable = true, length = 50)
    public java.lang.String getCreateBy() {
        return this.createBy;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  创建人登录名称
     */
    public void setCreateBy(java.lang.String createBy) {
        this.createBy = createBy;
    }

    /**
     * 方法: 取得java.util.Date
     *
     * @return: java.util.Date  创建日期
     */
    @Column(name = "CREATE_DATE", nullable = true, length = 20)
    public java.util.Date getCreateDate() {
        return this.createDate;
    }

    /**
     * 方法: 设置java.util.Date
     *
     * @param: java.util.Date  创建日期
     */
    public void setCreateDate(java.util.Date createDate) {
        this.createDate = createDate;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  更新人名称
     */
    @Column(name = "UPDATE_NAME", nullable = true, length = 50)
    public java.lang.String getUpdateName() {
        return this.updateName;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  更新人名称
     */
    public void setUpdateName(java.lang.String updateName) {
        this.updateName = updateName;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  更新人登录名称
     */
    @Column(name = "UPDATE_BY", nullable = true, length = 50)
    public java.lang.String getUpdateBy() {
        return this.updateBy;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  更新人登录名称
     */
    public void setUpdateBy(java.lang.String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 方法: 取得java.util.Date
     *
     * @return: java.util.Date  更新日期
     */
    @Column(name = "UPDATE_DATE", nullable = true, length = 20)
    public java.util.Date getUpdateDate() {
        return this.updateDate;
    }

    /**
     * 方法: 设置java.util.Date
     *
     * @param: java.util.Date  更新日期
     */
    public void setUpdateDate(java.util.Date updateDate) {
        this.updateDate = updateDate;
    }
}
